State-of-the-art program editors impose a demanding set of requirements with respect to presentation of text and visual adornments, such as, for example, automatic completion of a word being entered (autocompletion), or other adornments, that enrich text. In some situations it may be desirable to display only a subset of a text file, and/or to combine text from multiple files. Further, programming language text in one programming language may be embedded within text written in a different programming language.
In existing program editors multiple copies or partial copies of the program text may be made, such that, for example, a partial copy of text, including embedded programming language text, may be processed by a compiler or other development tool, or text from multiple files may be copied into a single file and processed by a development tool. However, when using this approach, software developers may have more difficulty implementing clients because the clients must be aware of the copies of the text and relationships among the copies. Further, maintaining consistency among the copies of text may become burdensome and complicated.